package store

import (
	"context"
	"manager/model"
	"manager/model/entity"
)

type IUserEbike interface {
	IExecTx
	Create(ctx context.Context, e *entity.UserEbike) (int64, error)
	Find(ctx context.Context, id int64) (*entity.UserEbike, error)
	Update(ctx context.Context, id int64, updates map[string]interface{}) error
	Delete(ctx context.Context, id int64) error
	List(ctx context.Context, in *model.UserEbikeListRequest) (int, []*entity.UserEbike, error)
	FindByParameter(ctx context.Context, info *model.UserEbikeRequest) (*entity.UserEbike, error)
	FindBikeAndUserBike(ctx context.Context, info *model.UserEbikeAndEbikeInfo) (*model.UserEbikeAndEbikeResponse, error)
	FindCountByIds(ctx context.Context, ids []int64) ([]*model.FindCountByIdsResponse, error)
}
